#-*- coding: utf-8 -*-
"""
Exemple de solution de la question 1 du test.
Le gros piège était la longueur du délimiteur.
J'ai résolu ça ici de manière un peu bourrine, m'enfin...

La bonne méthode était de stocker la position du dernier délimiteur 
et peut-être un indicateur (je n'sais plus) en analysant la chaîne via 
une boucle while (pour pouvoir sauter des caractères).
"""

def tokenizer(s, delim):
	if len(delim)>1: #délimiteur trop long ?
		#Avant de l'écraser, on le garde...
		delim_orig = delim
		#On choisit un délimiteur d'un caractère (qu'on ne rencontrera pas)
		delim = '!' #peut-être à adapter !!
		#On remplace dans la chaine l'ancien délimiteur par celui choisi
		s = s.replace(delim_orig, delim)
		#Retour au cas de base !!
	tmp = '' #chaine à afficher au prochain délimiteur
	prem = False #indique si on a déjà rencontré un délimiteur
	for ch in s:
		#pour chaque caractère,
		if ch==delim: #est-on tombé sur le délimiteur ?
			#on ignore la précédente valeur (pourquoi perdre du temps à tester...)
			#cet indicateur est là pour nous permettre de savoir si on a déjà vu un délimiteur avant
			prem = True
			#seulement dans le cas où le tampon n'est pas vide, on l'affiche
			if tmp!='':
				print tmp
			#on vide le tampon (sinon ça s'accumulera !!)
			tmp=''
		elif prem:
			#caractère normal. On ne stocke les caractères que si l'on a 
			#déjà rencontré un délimiteur avant ("else... if" condensé)
			tmp += ch


print '*** avant ***'
tokenizer('-chat-chienXXvacheXXcochon', 'XX')
print '*** après ***'
